#声明函数
# def shi():
#     print('举头望明月，低头看笑长！！！') #不低头看不着笑长
#调用
# shi()

# def add():
#     a = 3
#     b = 5
#     s = a + b
#     print(s)
#     return a
# c = add()
# print(c)

#函数的参数传递
# def add(a, b):
#     print(a + b)
# add(1, 3)
#
# a = 1
# b = 3
# add(a, b)
#
# add(2 * 3, 4 * 5)
#
# c = 3
# add(8, c * 3)

#位置参数示例
# def score(a, b, c):
#     print('张三：', a)
#     print('李四：', b)
#     print('王五：', c)
# score(85, 92, 60)

# def reg(name, age, sex="女"):
#     print('姓名：{} 年龄{} 性别：{}'.format(name, age, sex))
# reg('张三', 20)
# reg('李四', 21, '男')

#可变函数
# def fav(*fru):
#     print('我最喜欢的水果有：')
#     for i in fru:
#         print(i)
#
# fav('苹果')
# fav('苹果','橘子','菠萝')
# fav('苹果','香蕉','菠萝','西瓜','桃子','芒果')

#参数的值大于等于2，
# def show(a, b, *l):
#     print(a)
#     print(b)
#     print(l)
#
# show(1, 2, 3, 5, 7, 9, 79)

# #求矩形的面积和周长
# def rect():
#     a = int(input('请输入矩形的长：'))
#     b = int(input('请输入矩形的宽：'))
#     s = a * b
#     c = 2 * (a + b)
#     print('该矩形面积为：', s)
#     print('该矩形周长为：', c)
#
# rect()

#函数返回值
# def add(a, b):
#     c = a + b
#     return c, a, b, a*b, a-b
#
# d = add(1, 2)
# print(d)

# #变量的作用域（错误未修改）
# def fun():
#     a = 20
#     return a
#
# a = 10
# print(a)
# print(fun())

# def pro(*a):
#     for i in a:
#         if i % 2 == 0:
#             print('该数据为偶数：')
#         if i > 10:
#             print('该数据大于10：')
#
# pro(1, 2, 3, 5, 8, 79)

# #利用递归计算100的阶乘100！
# def f(n):
#     if n <= 1:
#         return 1
#     else:
#         return n*f(n-1)
#
# num = int(input('请输入一个正整数'))
# s = f(num)
# print(num, '的阶乘是：', s)

# #利用递归计算1~100相加之和
# def sum(n):
#     if n == 1:
#         return 1
#     else:
#         return n+sum(n-1)
#
# print('1~100相加的和为',sum(100))
#
# #计算斐波那契数列F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n>=2)的第n项
# def fibo(n):
#     if n <= 2:
#         return 1
#     else:
#         return fibo(n-1) + fibo(n-2)
#
# print('斐波那契数列的第{}项为{}'.format(7, fibo(7)))

# #匿名函数
# #<函数名>=lambda <参数列表>:<表达式>
# #使用匿名函数实现a+b+c
# sum = lambda a, b, c: a+b+c
# print(sum(1, 2, 3))
#
# #编写lambda函数，参数为正方形的边长m，输出正方形的面积
# fun = lambda m: m**2
# print(fun(5))